This is now all in -current and I am not really doing much with threads.
A screenshot of a FreeBSD system running under vmware, running X11, with its console output redirected out one serial port (with 'tip' on the other side of the nullmodem), and stopped in the kernel debugger, which is redirected to another serial port (actually the nullmodem driver again)with gdb (in the guise of xxgdb) showing the breakpoint and the current instruction pointer. You can also see that I was running ddb on the console port for a while too, all without disturbing the X11 display. Hopefully a more explicit description of how to do this will be forthcoming. This was using the nmdm driver to connect the serial ports of the VM to gdb and tip. The gif file is here.
change "print using #n" ... to "print #n using..." - "using" can be used on any string on its own now. (like sprintf())
A% is a 16 bit int as before.. I added A%% as a 32 bit int.
Because you can't express 100ths accuratly in IEEE floating.. I implemented FISCAL data type.. A$ is a string... $A is a fiscal and it needs to be initialised by a constant of the form $1.00 (or $1 will do).
Because I just brought this from a xenix machine with lex, flex(tm) is playing up and the file reading is broken inthe compiler so it only reads from standard input. This makes it unable to read its include files, which is a problem because you need to add the line
to the top of your basic program. I just copied it all in to test. I will fix this as soon as I get my brain around flex. This compiler ran for years in production on a SYSVR3 system. but it seems to be having a few problems here.. (including getting a syntax error in standard.bh).
This is a real "Work in progress" but for anyone interested, the file is available here.
A script which when run as root will perform time-machine-like backups onto a remote file system using SSH as a transport and control medium. here.
a small sample exclude file.. read the rsync man page. here.