View Single Post
  #8  
Old 05-12-2012, 02:34 AM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

Ok, I think that I've narrowed down this problem a bit and believe that there are multiple issues with the output redirect portion of this project...

With <EQEmuLoginServer.exe>:

I am not receiving any redirected output at all. Tracing back through the source code, all entries are made from <Server_Log->Log>.


With <World.exe>:

I receive all <write>, <_log> and <logfile->write> messages down to [Error] 'eqtime.cfg' is NOT a valid EQTime file. File version is 0, EQTime version is 1000 (I have a blank eqtime.cfg that I need to set.) At this point I no longer get messages, even from the same handlers. This one could be that my buffer pointer is not resetting..I'll have to check the code on that.


With <EQLaunch.exe>:

I only get the first <write> message [Debug] Starting Log: logs/eqemu_debug_xxxx.log. Even the <_log>-based entries that I was receiving with <World.exe> are not coming through on this process.


It could be that my IO streams are being cleared before my async callback reads them (using a 512B buffer), but I haven't figured out how to see if that's happening yet. It's also possible that the additional internal processes are running on a different thread than what my <server>|<interface> pipes are on and are not catching the output. I am using three unqiue process definitions to initialize the processes with processstartinfo->useshellexecute = false, etc...

Since the <World.exe> redirect works for a bit and then stops, I'm almost thinking that the ->BeginRead() call is timing out and needs to be invoked again. I'm going to continue working on this, but I'm still open to hints and suggestions! (Suggestions also includes those for features)


U
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote