screen-4.0.2 on Cygwin 1.5.R18-1

Fri Dec 2 20:46:00 GMT 2005

Thanks for your quick reply.  It gives me a bit more to think about; I 
don't really know my way around cygwin/*nux that well, from the 
administrative end; I've just been an end user for a long time.

> How exactly do you invoke screen?  Does "setsid" work for you?  Does
> "nohup"?  IIRC, bash also has an option for controlling whether background
> processes are terminated on exit...

How will I know whether setsid is working?  I tried setting the setuid 
bits via chmod, but I don't know what I'm doing other than that.  I'll try 
nohup and look through the shell documentation for options.  I'm either 
invoking screen from the command line as my user, or as SYSTEM (by 
scheduling a cmd window with the NT "at" command).  This works okay, but 
the process does not persist.

I've tried running it as a service like so:
 	cygrunsrv -I screen -p /usr/local/bin/screen -a '-d -m'
 	cygrunsrv -S screen

I get the hanging, plus it runs as SYSTEM unless I add the options to run 
it as myself.  Now that I think of it, perhaps I need to add -i for 
interactive; I'll try that.

> What is the error message when screen runs as SYSTEM?  I suspect it's a
> fifo permission issue...

I haven't figured out how to get the error messages out of cygrunsrv 
processes, but I should be able to figure that out and get back to you. 
I know that it runs okay up to a point as SYSTEM because it creates a new 
S-SYSTEM directory in /tmp/uscreens and creates fifos there (which I can 
investigate post hoc by taking control of the directory).

> As for hanging does it consume CPU at all?  Try attaching to the process
> with strace and seeing where it hangs.

Will do.

> If you wish for others to try reproducing your behavior, please post the
> "minor changes" you mentioned above (as a patch).

Here you go.  Like I said: very minor changes.  More intelligent changes 
are almost certainly possible, but I don't really have time to read 
through the source code and figure things out much more.  Have other 
people done more meticulous patching?  Most patches I googled are now 404.

-------------- next part --------------
diff -r screen-4.0.2/misc.c screen-4.0.2-cyg/misc.c
> # define linux
> # undef linux
diff -r screen-4.0.2/pty.c screen-4.0.2-cyg/pty.c
< # include <sys/stropts.h>
> /* # include <sys/stropts.h> */
diff -r screen-4.0.2/utmp.c screen-4.0.2-cyg/utmp.c
> #define linux
> #undef linux
-------------- next part --------------
Unsubscribe info:
Problem reports:

More information about the Cygwin mailing list