CUPS (1.1 or 1.2) on Cygwin/Win32?

Michael Sweet mike at easysw.com
Wed Jul 12 06:43:48 PDT 2006


Kurt Pfeifle wrote:
> Has anyone on this list ever tried to compile CUPS in a 
> Cygwin/Windows environment?

1.1.x won't compile for sure - Windows defines functions
with the same name as some of the cupsd functions.  We've
renamed them in 1.2.x to make things easier.

Also, most of the backends won't compile, even in 1.2.x,
as they include/use headers and functions that don't exist
on Windows, even under Cygwin.

> Results? Problems? Comments?

Windows doesn't support select() on anything but sockets and
certain types of pipes.  Cygwin emulates the UNIX select()
functionality using threads, which means you'll have 1 thread for
every open file descriptor.

fork() and exec() on Windows are *very* expensive; a busy cupsd
will take a Windows server down with it - the same load on a UNIX/
Linux system will not...

Signals don't exist so all of the signal handling code (particularly
for getting child-finished signals) will need to be reworked.  I
don't remember if Cygwin uses a separate thread to emulate signals...

-- 
______________________________________________________________________
Michael Sweet, Easy Software Products           mike at easysw dot com
Internet Printing and Document Software          http://www.easysw.com




More information about the cups mailing list