Revision 9bf5e01f lib/jqueue.py

b/lib/jqueue.py
446 446
    finally:
447 447
      self._queue.release()
448 448

  
449
  @locking.ssynchronized(_big_jqueue_lock)
450
  def _AppendFeedback(self, timestamp, log_type, log_msg):
451
    """Internal feedback append function, with locks
452

  
453
    """
454
    self._job.log_serial += 1
455
    self._op.log.append((self._job.log_serial, timestamp, log_type, log_msg))
456
    self._queue.UpdateJobUnlocked(self._job, replicate=False)
457

  
449 458
  def Feedback(self, *args):
450 459
    """Append a log entry.
451 460

  
......
461 470
    # The time is split to make serialization easier and not lose
462 471
    # precision.
463 472
    timestamp = utils.SplitTime(time.time())
464

  
465
    self._queue.acquire()
466
    try:
467
      self._job.log_serial += 1
468
      self._op.log.append((self._job.log_serial, timestamp, log_type, log_msg))
469
      self._queue.UpdateJobUnlocked(self._job, replicate=False)
470
    finally:
471
      self._queue.release()
473
    self._AppendFeedback(timestamp, log_type, log_msg)
472 474

  
473 475
  def ReportLocks(self, msg):
474 476
    """Write locking information to the job.

Also available in: Unified diff