diff --git a/ChangeLog b/ChangeLog index 82cc984f..6105863a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -8,16 +8,33 @@ v0.39.7 14-Jan-2004 that mbtask didn't exist. It is possible that something is broken now, please report such situations. + general: + In all sources replaced the usleep function with the msleep + function. The usleep function will become obsolete someday. + libcommon.a: In execute and execsh on Linux systems sync() is called before and after running the external program to make sure diskbuffers are committed. + Added a milliseconds timer. + Before and after execute and execsh a 100 ms pause is inserted + to prevent (un)archiver and other errors. mbcico: Removed the check to disable calling points. Added a check to see if we get a URL to call other systems. If nodelist info fails, increase error counter in steps of 10. Merged tmail patches from Przemyslaw Kwiatkowski. + Fixed nodelocks during session handshake after many years. The + problem showed only when mbcico was used together with a mailer + on a different OS. When a aka is busy, the aka is now dropped. + When all akas are busy, a session is impossible and the session + is refused. Thanks to Przemyslaw Kwiatkowski for finding and + documenting this bug. + The total session avg cps is now corrected with the two seconds + session close delay time. + During binkp handshake increased the timer of the receiver to + avoid handshake timeouts. mbfido: Removed sync calls that are now in execute. diff --git a/TODO b/TODO index be698b79..4e4d564b 100644 --- a/TODO +++ b/TODO @@ -121,7 +121,9 @@ mbcico: U: Fix binkp file resume when mbcico silently dies. Check with the new driver. - U: Check node locking results for EMSI, YooHoo and FTS-0001 sessions. + L: Implement binkp option ND. + + L: Implement binkp zlib compression. mbfile: L: Add a check to see if the magic filenames are (still) valid. diff --git a/html/misc/usleep.html b/html/misc/usleep.html index 3d7b05a6..936ba1c6 100644 --- a/html/misc/usleep.html +++ b/html/misc/usleep.html @@ -13,51 +13,58 @@
-- usleep.doc - ++++Last update 23-Jan-2004
At some time when developping MBSE BBS I decided that background utilities did't need full speed to do their jobs. BBS utilities under DOS needed to run as fast as possible because you needed to bring the bbs down to run these programs and users couldn't login during that time. - +System load and the usleep() call.
Starting with mball, the allfiles creator, I inserted code that does usleep(1) after each 5 processed files. The 1 microsecond is not really the time the program pauses, it's probably a lot longer. I think this depends on the hardware type, (Intel, Sparc, Alpha etc) how long GNU/Linux will really suspends executing the utility. - +
The program speed downgrade at the development machine that mball needed was 3 times the original exection time, while system loading stayed under 30%. At that time the development machine is an 486DX2-66 with a Seagate ST32151N SCSI harddisk. - +
The extra usleep code is only active if you run these utils with the -quiet switch and when this is set in mbsetup. See menu 1->5. With this switch, the program is mostly run by cron. If you onmit this switch, this is probably when you start the program manually, it will then always run at full speed, no matter what the setting in mbsetup is. - +
If you have a fast system or don't care that the performance of your system drops because of background processing, you can turn this future off with mbsetup in the global section. (menu 1->5). - +
Remember, if you have a PII-400 MMX or so with IDE disks, you may still have performance problems and need to set that switch to yes. There is only one way to find out if you need it. - +
Well, actually, I tested this on a Dell Latitude PII-266, setting the switch to yes gave better performance then no. Why? The CPU has more time for the slow IDE disk. With the slow switch on programs runs even faster then with the switch -off. - +off. Modern hardware (PIII and later) may run fine with the slow switch turned +off. +
+In januari 2004 the usleep code is replaced by a milliseconds timer written +around the nanosleep system call. This call conforms to POSIX.1b and is written +so that if the timer is interrupted it will resume with the time left to do. +The real minimum time the timer runs is 10 ms on Intel systems, see also man +nanosleep All usleep(1) calls are now msleep(1) calls, in practice these are +pauses of 10 ms. +
Michiel. - -
Go Back - +