more OSC socket fcntl() close-on-exec
This commit is contained in:
parent
6b19f5a444
commit
bdf91de8b7
@ -191,10 +191,10 @@ OSC::start ()
|
|||||||
|
|
||||||
if (_osc_unix_server) {
|
if (_osc_unix_server) {
|
||||||
_osc_unix_socket_path = tmpstr;
|
_osc_unix_socket_path = tmpstr;
|
||||||
}
|
|
||||||
fd = lo_server_get_socket_fd (_osc_unix_server)
|
fd = lo_server_get_socket_fd (_osc_unix_server)
|
||||||
fcntl(fdx, F_SETFD, fcntl(fd, F_GETFD) | FD_CLOEXEC);
|
fcntl(fdx, F_SETFD, fcntl(fd, F_GETFD) | FD_CLOEXEC);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
PBD::info << "OSC @ " << get_server_url () << endmsg;
|
PBD::info << "OSC @ " << get_server_url () << endmsg;
|
||||||
@ -232,19 +232,23 @@ OSC::thread_init ()
|
|||||||
pthread_set_name (X_("OSC"));
|
pthread_set_name (X_("OSC"));
|
||||||
|
|
||||||
if (_osc_unix_server) {
|
if (_osc_unix_server) {
|
||||||
|
const int fd = lo_server_get_socket_fd (_osc_unix_server);
|
||||||
Glib::RefPtr<IOSource> src = IOSource::create (lo_server_get_socket_fd (_osc_unix_server), IO_IN|IO_HUP|IO_ERR);
|
Glib::RefPtr<IOSource> src = IOSource::create (lo_server_get_socket_fd (_osc_unix_server), IO_IN|IO_HUP|IO_ERR);
|
||||||
src->connect (sigc::bind (sigc::mem_fun (*this, &OSC::osc_input_handler), _osc_unix_server));
|
src->connect (sigc::bind (sigc::mem_fun (*this, &OSC::osc_input_handler), _osc_unix_server));
|
||||||
src->attach (_main_loop->get_context());
|
src->attach (_main_loop->get_context());
|
||||||
local_server = src->gobj();
|
local_server = src->gobj();
|
||||||
g_source_ref (local_server);
|
g_source_ref (local_server);
|
||||||
|
fcntl(fd, F_SETFD, fcntl(fd, F_GETFD) | FD_CLOEXEC);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_osc_server) {
|
if (_osc_server) {
|
||||||
Glib::RefPtr<IOSource> src = IOSource::create (lo_server_get_socket_fd (_osc_server), IO_IN|IO_HUP|IO_ERR);
|
const int fd = lo_server_get_socket_fd (_osc_server);
|
||||||
|
Glib::RefPtr<IOSource> src = IOSource::create (fd, IO_IN|IO_HUP|IO_ERR);
|
||||||
src->connect (sigc::bind (sigc::mem_fun (*this, &OSC::osc_input_handler), _osc_server));
|
src->connect (sigc::bind (sigc::mem_fun (*this, &OSC::osc_input_handler), _osc_server));
|
||||||
src->attach (_main_loop->get_context());
|
src->attach (_main_loop->get_context());
|
||||||
remote_server = src->gobj();
|
remote_server = src->gobj();
|
||||||
g_source_ref (remote_server);
|
g_source_ref (remote_server);
|
||||||
|
fcntl(fd, F_SETFD, fcntl(fd, F_GETFD) | FD_CLOEXEC);
|
||||||
}
|
}
|
||||||
|
|
||||||
PBD::notify_gui_about_thread_creation (X_("gui"), pthread_self(), X_("OSC"), 2048);
|
PBD::notify_gui_about_thread_creation (X_("gui"), pthread_self(), X_("OSC"), 2048);
|
||||||
|
Loading…
Reference in New Issue
Block a user