On Sat, 30 Jun 2001, Mike McCormack wrote: > this is the first step in cleaning up the 16bit comm code. > This patch is untested, so have a look, and give it a go! > - ptr->s_read = SERVICE_AddObject( FILE_DupUnixHandle( ptr->fd, > - GENERIC_READ | SYNCHRONIZE ), > + ptr->s_read = SERVICE_AddObject( ptr->handle, > comm_notification, > (ULONG_PTR)ptr ); Not good... you *must* duplicate the handle (probably with DuplicateHandle) before passing it to SERVICE_AddObject. The SERVICE_Delete will close the handle passed to AddObject, which is bound to cause problems if it's not a duplicate.