Inter-process signalling and select() function.

Dave Jones JONESD at er6s1.eng.ohio-state.edu
Tue Nov 18 18:31:15 GMT 2003


While monitoring the effect of my latest VMS_TDB changes, I discovered that
messages.tdb wasn't clearing properly due to assumtions Samba makes about the
the select() function.  The samba code assumes that a signal sent to a
process will abort a select call with the errno EINTR, but by default the
VMS CRTL does not abort the call.  The select calls need to be interrupted
so that messages queued to the process will be retreived from messages.tdb in a
timely fashion.

An ECO added to TCP/IP services 5.0 or later will enable the desired behavior
if you define the environment variable TCPIP$SELECT_ABORT_ON_SIGNAL.  It would
be unwise to make this a system-wide definition, since it would likely break
other applications that depend upon the old behavior.  Probably
the best place to add this definition would be in SMBD_WORKER.COM.

-------------------------------------------------------------------------------
David L. Jones               |      Phone:    (614) 292-6929
Ohio State University        |      Internet:
140 W. 19th St. Rm. 231a     |               jonesd at er6s1.eng.ohio-state.edu
Columbus, OH 43210           |               vman+ at osu.edu

Disclaimer: I'm looking for marbles all day long.



More information about the samba-vms mailing list