Lines Matching refs:parent

64 	struct net_socket		*parent;
322 if (socket->parent != NULL)
323 panic("socket still has a parent!");
490 net_socket_private *parent = (net_socket_private *)_parent;
492 MutexLocker locker(parent->lock);
497 if (parent->child_count > 3 * parent->max_backlog / 2)
501 status_t status = socket_create(parent->family, parent->type, parent->protocol,
506 // inherit parent's properties
507 socket->send = parent->send;
508 socket->receive = parent->receive;
509 socket->options = parent->options & ~SO_ACCEPTCONN;
510 socket->linger = parent->linger;
511 memcpy(&socket->address, &parent->address, parent->address.ss_len);
512 memcpy(&socket->peer, &parent->peer, parent->peer.ss_len);
514 // add to the parent's list of pending connections
515 parent->pending_children.Add(socket);
516 socket->parent = parent;
517 parent->child_count++;
527 net_socket_private *parent = (net_socket_private *)_parent;
529 mutex_lock(&parent->lock);
531 net_socket_private *socket = parent->connected_children.RemoveHead();
533 socket->parent = NULL;
534 parent->child_count--;
538 mutex_unlock(&parent->lock);
546 net_socket_private *parent = (net_socket_private *)_parent;
548 MutexLocker _(parent->lock);
550 return parent->connected_children.Count();
569 child->parent = NULL;
574 child->parent = NULL;
589 return socket->parent != NULL;
597 net_socket_private *parent = (net_socket_private *)socket_private->parent;
598 if (parent == NULL)
601 mutex_lock(&parent->lock);
603 parent->pending_children.Remove(socket_private);
604 parent->connected_children.Add(socket_private);
606 mutex_unlock(&parent->lock);