##// END OF EJS Templates
commandserver: switch logging facility to ui.log() interface...
Yuya Nishihara -
r40860:eaabcb68 default
parent child Browse files
Show More
@@ -66,8 +66,6 from .utils import (
66 procutil,
66 procutil,
67 )
67 )
68
68
69 _log = commandserver.log
70
71 def _hashlist(items):
69 def _hashlist(items):
72 """return sha1 hexdigest for a list"""
70 """return sha1 hexdigest for a list"""
73 return node.hex(hashlib.sha1(str(items)).digest())
71 return node.hex(hashlib.sha1(str(items)).digest())
@@ -186,7 +184,8 class hashstate(object):
186 mtimepaths = _getmtimepaths(ui)
184 mtimepaths = _getmtimepaths(ui)
187 confighash = _confighash(ui)
185 confighash = _confighash(ui)
188 mtimehash = _mtimehash(mtimepaths)
186 mtimehash = _mtimehash(mtimepaths)
189 _log('confighash = %s mtimehash = %s\n' % (confighash, mtimehash))
187 ui.log('cmdserver', 'confighash = %s mtimehash = %s\n',
188 confighash, mtimehash)
190 return hashstate(confighash, mtimehash, mtimepaths)
189 return hashstate(confighash, mtimehash, mtimepaths)
191
190
192 def _newchgui(srcui, csystem, attachio):
191 def _newchgui(srcui, csystem, attachio):
@@ -300,7 +299,6 class channeledsystem(object):
300 if not cmd:
299 if not cmd:
301 break
300 break
302 if cmdtable and cmd in cmdtable:
301 if cmdtable and cmd in cmdtable:
303 _log('pager subcommand: %s' % cmd)
304 cmdtable[cmd]()
302 cmdtable[cmd]()
305 else:
303 else:
306 raise error.Abort(_('unexpected command: %s') % cmd)
304 raise error.Abort(_('unexpected command: %s') % cmd)
@@ -344,7 +342,7 class chgcmdserver(commandserver.server)
344 # distinctive from "attachio\n" command consumed by client.read()
342 # distinctive from "attachio\n" command consumed by client.read()
345 self.clientsock.sendall(struct.pack('>cI', 'I', 1))
343 self.clientsock.sendall(struct.pack('>cI', 'I', 1))
346 clientfds = util.recvfds(self.clientsock.fileno())
344 clientfds = util.recvfds(self.clientsock.fileno())
347 _log('received fds: %r\n' % clientfds)
345 self.ui.log('chgserver', 'received fds: %r\n', clientfds)
348
346
349 ui = self.ui
347 ui = self.ui
350 ui.flush()
348 ui.flush()
@@ -450,7 +448,7 class chgcmdserver(commandserver.server)
450 if newhash.confighash != self.hashstate.confighash:
448 if newhash.confighash != self.hashstate.confighash:
451 addr = _hashaddress(self.baseaddress, newhash.confighash)
449 addr = _hashaddress(self.baseaddress, newhash.confighash)
452 insts.append('redirect %s' % addr)
450 insts.append('redirect %s' % addr)
453 _log('validate: %s\n' % insts)
451 self.ui.log('chgserver', 'validate: %s\n', insts)
454 self.cresult.write('\0'.join(insts) or '\0')
452 self.cresult.write('\0'.join(insts) or '\0')
455
453
456 def chdir(self):
454 def chdir(self):
@@ -462,7 +460,7 class chgcmdserver(commandserver.server)
462 path = self._readstr()
460 path = self._readstr()
463 if not path:
461 if not path:
464 return
462 return
465 _log('chdir to %r\n' % path)
463 self.ui.log('chgserver', 'chdir to %r\n', path)
466 os.chdir(path)
464 os.chdir(path)
467
465
468 def setumask(self):
466 def setumask(self):
@@ -480,7 +478,7 class chgcmdserver(commandserver.server)
480
478
481 def _setumask(self, data):
479 def _setumask(self, data):
482 mask = struct.unpack('>I', data)[0]
480 mask = struct.unpack('>I', data)[0]
483 _log('setumask %r\n' % mask)
481 self.ui.log('chgserver', 'setumask %r\n', mask)
484 os.umask(mask)
482 os.umask(mask)
485
483
486 def runcommand(self):
484 def runcommand(self):
@@ -505,7 +503,7 class chgcmdserver(commandserver.server)
505 newenv = dict(s.split('=', 1) for s in l)
503 newenv = dict(s.split('=', 1) for s in l)
506 except ValueError:
504 except ValueError:
507 raise ValueError('unexpected value in setenv request')
505 raise ValueError('unexpected value in setenv request')
508 _log('setenv: %r\n' % sorted(newenv.keys()))
506 self.ui.log('chgserver', 'setenv: %r\n', sorted(newenv.keys()))
509 encoding.environ.clear()
507 encoding.environ.clear()
510 encoding.environ.update(newenv)
508 encoding.environ.update(newenv)
511
509
@@ -521,7 +519,7 class chgcmdserver(commandserver.server)
521 def setprocname(self):
519 def setprocname(self):
522 """Change process title"""
520 """Change process title"""
523 name = self._readstr()
521 name = self._readstr()
524 _log('setprocname: %r\n' % name)
522 self.ui.log('chgserver', 'setprocname: %r\n', name)
525 procutil.setprocname(name)
523 procutil.setprocname(name)
526 capabilities['setprocname'] = setprocname
524 capabilities['setprocname'] = setprocname
527
525
@@ -36,17 +36,6 from .utils import (
36 procutil,
36 procutil,
37 )
37 )
38
38
39 logfile = None
40
41 def log(*args):
42 if not logfile:
43 return
44
45 for a in args:
46 logfile.write(str(a))
47
48 logfile.flush()
49
50 class channeledoutput(object):
39 class channeledoutput(object):
51 """
40 """
52 Write data to out in the following format:
41 Write data to out in the following format:
@@ -210,11 +199,6 class server(object):
210 def __init__(self, ui, repo, fin, fout):
199 def __init__(self, ui, repo, fin, fout):
211 self.cwd = encoding.getcwd()
200 self.cwd = encoding.getcwd()
212
201
213 if ui.config("cmdserver", "log") == '-':
214 global logfile
215 # switch log stream to the 'd' (debug) channel
216 logfile = channeledoutput(fout, 'd')
217
218 if repo:
202 if repo:
219 # the ui here is really the repo ui so take its baseui so we don't
203 # the ui here is really the repo ui so take its baseui so we don't
220 # end up with its local configuration
204 # end up with its local configuration
@@ -225,7 +209,7 class server(object):
225 self.ui = ui
209 self.ui = ui
226 self.repo = self.repoui = None
210 self.repo = self.repoui = None
227
211
228 self.cdebug = logfile
212 self.cdebug = channeledoutput(fout, 'd')
229 self.cerr = channeledoutput(fout, 'e')
213 self.cerr = channeledoutput(fout, 'e')
230 self.cout = channeledoutput(fout, 'o')
214 self.cout = channeledoutput(fout, 'o')
231 self.cin = channeledinput(fin, fout, 'I')
215 self.cin = channeledinput(fin, fout, 'I')
@@ -376,13 +360,7 def setuplogging(ui, repo=None, fp=None)
376 logpath = ui.config(b'cmdserver', b'log')
360 logpath = ui.config(b'cmdserver', b'log')
377 if not logpath:
361 if not logpath:
378 return
362 return
379 tracked = {b'cmdserver'}
363 tracked = {b'chgserver', b'cmdserver'}
380
381 global logfile
382 if logpath == b'-':
383 logfile = ui.ferr
384 else:
385 logfile = open(logpath, 'ab')
386
364
387 if logpath == b'-' and fp:
365 if logpath == b'-' and fp:
388 logger = loggingutil.fileobjectlogger(fp, tracked)
366 logger = loggingutil.fileobjectlogger(fp, tracked)
@@ -1,7 +1,19
1 #require chg
1 #require chg
2
2
3 $ cat <<EOF >> $HGRCPATH
4 > [cmdserver]
5 > log = $TESTTMP/server.log
6 > EOF
3 $ cp $HGRCPATH $HGRCPATH.orig
7 $ cp $HGRCPATH $HGRCPATH.orig
4
8
9 $ filterlog () {
10 > sed -e 's!^[0-9/]* [0-9:]* ([0-9]*)>!YYYY/MM/DD HH:MM:SS (PID)>!' \
11 > -e 's!\(setprocname\|received fds\|setenv\): .*!\1: ...!' \
12 > -e 's!\(confighash\|mtimehash\) = [0-9a-f]*!\1 = ...!g' \
13 > -e 's!\(pid\)=[0-9]*!\1=...!g' \
14 > -e 's!\(/server-\)[0-9a-f]*!\1...!g'
15 > }
16
5 init repo
17 init repo
6
18
7 $ chg init foo
19 $ chg init foo
@@ -201,5 +213,200 since no server is reachable from socket
201 shut down servers and restore environment:
213 shut down servers and restore environment:
202
214
203 $ rm -R chgsock
215 $ rm -R chgsock
216 $ sleep 2
204 $ CHGSOCKNAME=$OLDCHGSOCKNAME
217 $ CHGSOCKNAME=$OLDCHGSOCKNAME
205 $ cd ..
218 $ cd ..
219
220 check that server events are recorded:
221
222 $ cat server.log | filterlog
223 YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
224 YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
225 YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
226 YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP'
227 YYYY/MM/DD HH:MM:SS (PID)> setumask 18
228 YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
229 YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
230 YYYY/MM/DD HH:MM:SS (PID)> validate: []
231 YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
232 YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
233 YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/foo'
234 YYYY/MM/DD HH:MM:SS (PID)> setumask 18
235 YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
236 YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
237 YYYY/MM/DD HH:MM:SS (PID)> validate: []
238 YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
239 YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
240 YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/foo'
241 YYYY/MM/DD HH:MM:SS (PID)> setumask 18
242 YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
243 YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
244 YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
245 YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
246 YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/foo'
247 YYYY/MM/DD HH:MM:SS (PID)> setumask 18
248 YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
249 YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
250 YYYY/MM/DD HH:MM:SS (PID)> validate: []
251 YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
252 YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
253 YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP'
254 YYYY/MM/DD HH:MM:SS (PID)> setumask 18
255 YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
256 YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
257 YYYY/MM/DD HH:MM:SS (PID)> validate: []
258 YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
259 YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
260 YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/editor'
261 YYYY/MM/DD HH:MM:SS (PID)> setumask 18
262 YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
263 YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
264 YYYY/MM/DD HH:MM:SS (PID)> validate: []
265 YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
266 YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
267 YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/editor'
268 YYYY/MM/DD HH:MM:SS (PID)> setumask 18
269 YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
270 YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
271 YYYY/MM/DD HH:MM:SS (PID)> validate: ['redirect $TESTTMP.chgsock/server-...']
272 YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
273 YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
274 YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
275 YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/editor'
276 YYYY/MM/DD HH:MM:SS (PID)> setumask 18
277 YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
278 YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
279 YYYY/MM/DD HH:MM:SS (PID)> validate: []
280 YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
281 YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
282 YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/editor'
283 YYYY/MM/DD HH:MM:SS (PID)> setumask 18
284 YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
285 YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
286 YYYY/MM/DD HH:MM:SS (PID)> validate: ['redirect $TESTTMP.chgsock/server-...']
287 YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
288 YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
289 YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/editor'
290 YYYY/MM/DD HH:MM:SS (PID)> setumask 18
291 YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
292 YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
293 YYYY/MM/DD HH:MM:SS (PID)> validate: []
294 YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
295 YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
296 YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP'
297 YYYY/MM/DD HH:MM:SS (PID)> setumask 18
298 YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
299 YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
300 YYYY/MM/DD HH:MM:SS (PID)> validate: ['redirect $TESTTMP.chgsock/server-...']
301 YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
302 YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
303 YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP'
304 YYYY/MM/DD HH:MM:SS (PID)> setumask 18
305 YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
306 YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
307 YYYY/MM/DD HH:MM:SS (PID)> validate: []
308 YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
309 YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
310 YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/pager'
311 YYYY/MM/DD HH:MM:SS (PID)> setumask 18
312 YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
313 YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
314 YYYY/MM/DD HH:MM:SS (PID)> validate: ['redirect $TESTTMP.chgsock/server-...']
315 YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
316 YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
317 YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
318 YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/pager'
319 YYYY/MM/DD HH:MM:SS (PID)> setumask 18
320 YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
321 YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
322 YYYY/MM/DD HH:MM:SS (PID)> validate: []
323 YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
324 YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
325 YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/pager'
326 YYYY/MM/DD HH:MM:SS (PID)> setumask 18
327 YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
328 YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
329 YYYY/MM/DD HH:MM:SS (PID)> validate: []
330 YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
331 YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
332 YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/pager'
333 YYYY/MM/DD HH:MM:SS (PID)> setumask 18
334 YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
335 YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
336 YYYY/MM/DD HH:MM:SS (PID)> validate: []
337 YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
338 YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
339 YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
340 YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/pager'
341 YYYY/MM/DD HH:MM:SS (PID)> setumask 18
342 YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
343 YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
344 YYYY/MM/DD HH:MM:SS (PID)> validate: []
345 YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
346 YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
347 YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/pager'
348 YYYY/MM/DD HH:MM:SS (PID)> setumask 18
349 YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
350 YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
351 YYYY/MM/DD HH:MM:SS (PID)> validate: ['redirect $TESTTMP.chgsock/server-...']
352 YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
353 YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
354 YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
355 YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/pager'
356 YYYY/MM/DD HH:MM:SS (PID)> setumask 18
357 YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
358 YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
359 YYYY/MM/DD HH:MM:SS (PID)> validate: []
360 YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
361 YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
362 YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
363 YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP'
364 YYYY/MM/DD HH:MM:SS (PID)> setumask 18
365 YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
366 YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
367 YYYY/MM/DD HH:MM:SS (PID)> validate: ['redirect $TESTTMP.chgsock/server-...']
368 YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
369 YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
370 YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP'
371 YYYY/MM/DD HH:MM:SS (PID)> setumask 18
372 YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
373 YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
374 YYYY/MM/DD HH:MM:SS (PID)> validate: []
375 YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
376 YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
377 YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
378 YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/extreload'
379 YYYY/MM/DD HH:MM:SS (PID)> setumask 18
380 YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
381 YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
382 YYYY/MM/DD HH:MM:SS (PID)> validate: []
383 YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
384 YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
385 YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/extreload'
386 YYYY/MM/DD HH:MM:SS (PID)> setumask 18
387 YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
388 YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
389 YYYY/MM/DD HH:MM:SS (PID)> validate: ['unlink $TESTTMP/extreload/chgsock/server-...', 'reconnect']
390 YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
391 YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
392 YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
393 YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/extreload'
394 YYYY/MM/DD HH:MM:SS (PID)> setumask 18
395 YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
396 YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
397 YYYY/MM/DD HH:MM:SS (PID)> validate: []
398 YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
399 YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
400 YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/extreload'
401 YYYY/MM/DD HH:MM:SS (PID)> setumask 18
402 YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
403 YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
404 YYYY/MM/DD HH:MM:SS (PID)> validate: []
405 YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
406 YYYY/MM/DD HH:MM:SS (PID)> setprocname: ...
407 YYYY/MM/DD HH:MM:SS (PID)> received fds: ...
408 YYYY/MM/DD HH:MM:SS (PID)> chdir to '$TESTTMP/extreload'
409 YYYY/MM/DD HH:MM:SS (PID)> setumask 18
410 YYYY/MM/DD HH:MM:SS (PID)> setenv: ...
411 YYYY/MM/DD HH:MM:SS (PID)> confighash = ... mtimehash = ...
412 YYYY/MM/DD HH:MM:SS (PID)> validate: []
General Comments 0
You need to be logged in to leave comments. Login now