- /* try to connect while daemon to starts */
- tspec.tv_sec = 0;
- tspec.tv_nsec = 100000000; /* 100 millisec */
- loop = UDEVSEND_CONNECT_RETRY;
- while (loop--) {
- retval = connect(sock, (struct sockaddr *) &saddr, sizeof(saddr));
- if (retval != -1)
- goto send;
- else
- dbg("retry to connect %d",
- UDEVSEND_CONNECT_RETRY - loop);
- nanosleep(&tspec, NULL);
- }
- dbg("error connecting to daemon, start daemon failed");
- goto exit;
-
-send:
- size = build_hotplugmsg(&message, action, devpath, subsystem, seq);
- retval = send(sock, &message, size, 0);
- if (retval == -1) {
- dbg("error sending message");
- close (sock);
- goto exit;
- }
- close (sock);
- return 0;