Code: static void sendnokgps(char *cmd) { int n, len; struct sockaddr_un igps; n = socket(AF_UNIX, SOCK_STREAM, 0); if (n >= 0) { igps.sun_family = AF_UNIX; strcpy(igps.sun_path, "/var/lib/gps/gps_driver_ctrl"); len = strlen(igps.sun_path) + sizeof(igps.sun_family); if (connect(n, (struct sockaddr *) &igps, len) != -1) { char buf[4]; if (!fork()) { // this can take a while write(n, cmd, strlen(cmd)); read(n, buf, 4); close(n); exit(0); } close(n); } } }
static void sendnokgps(char *cmd) { int n, len; struct sockaddr_un igps; n = socket(AF_UNIX, SOCK_STREAM, 0); if (n >= 0) { igps.sun_family = AF_UNIX; strcpy(igps.sun_path, "/var/lib/gps/gps_driver_ctrl"); len = strlen(igps.sun_path) + sizeof(igps.sun_family); if (connect(n, (struct sockaddr *) &igps, len) != -1) { char buf[4]; if (!fork()) { // this can take a while write(n, cmd, strlen(cmd)); read(n, buf, 4); close(n); exit(0); } close(n); } } }