Allow tpacall with TPNOREPLY to be executed from tpsrvinit()
|Priority:||Normal (Code 4)||Due date:|
This construction typically is used for starting infinite threaded servers.
The problem here is that during the tpsvrinit even after tpadvertise call, queues are not open, thus call will fail with TPENOENT error.
To get over this, solution could be:
- tpacall in case of missing service, shall check that server is doing init... If so, then via some callback the buffer shall be copied/enqueue for later delivery.
- once tpsrvinit is done, the queues with buffers shall be processed - executed one more time with tpacall() - thus at this time the messages shall be delivered to q.
- after server goes into poll mode, it will pick up these messages and will do the actual processing.