func (s *SlaveNode) bootSlave(slave *SlaveNode) { s.L.Lock() defer s.L.Unlock() s.trace("now sending slave boot request for %s", slave.Name) msg := messages.CreateSpawnSlaveMessage(slave.Name) _, err := s.socket.WriteMessage(msg) if err != nil { slog.Error(err) } }
// This should only be called while holding a lock on s.L. func (s *SlaveNode) bootSlave(slave *SlaveNode) { if s.Error != "" { slave.L.Lock() slave.Error = s.Error slave.event <- true slave.L.Unlock() return } msg := messages.CreateSpawnSlaveMessage(slave.Name) _, err := s.socket.WriteMessage(msg) if err != nil { slog.Error(err) } }