[Glass] Printer spooler and TransientSemaphore wait
dario.trussardi@tiscali.it via Glass
glass at lists.gemtalksystems.com
Tue Jul 10 08:17:13 PDT 2018
Ciao,
in the application based on Seaside, i manage some printers devices.
Every device have a RcQueue where the system add the 'works' to print.
Besides there is a topaz script/server, which read the prints jobs and
does the printing.
Now this script is based spoolSemaphore class variable set to on
TransientSemaphore,
who waits for the presence of a new document to be reported,
segnaled when one relative entry is added to one RcQueue printer device.
This is the printerSpool script:
startPrinterSpool
| cllDbSpoolerActive flagLo...................... |
UserGlobals at: #'FlagSpooler' put: true.
spoolSemaphore := TransientSemaphore new.
[ UserGlobals at: #'FlagSpooler' ]
whileTrue: [
spoolSemaphore waitForSeconds: 1.
System commit. " Update the session data "
counterLimit := DTRdbOperatingDevice ticktesForCicle.
....................
.............
If in the whileTrue loop i define the:
spoolSemaphore waitForSeconds: 1.
the topaz script works, butnot waiting as I would like .....
If in the whileTrue loop i define the:
spoolSemaphore wait.
the topaz script generates the error:
ERROR 2366 , a ThreadError occurred (error 2366),
reason:rtErrSchedulerDeadlocked, The ProcessorScheduler is deadlocked
(ThreadError)
Considerations... ?
Thanks,
Dario
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gemtalksystems.com/mailman/private/glass/attachments/20180710/d8d1a86f/attachment-0001.html>
More information about the Glass
mailing list