pty->master.fd, EPOLLIN|EPOLLOUT|EPOLLET, pakfire_pty_master, pty);
if (r < 0) {
ERROR(pty->ctx, "Could not add the master file descriptor: %s\n", strerror(-r));
- return r;
+ return -errno;
}
// Set description
sd_event_source_set_description(pty->master.event, "pty-master");
+ // Listen to SIGWINCH
+ r = sd_event_add_signal(pty->loop, &pty->sigwinch_event,
+ SIGWINCH|SD_EVENT_SIGNAL_PROCMASK, pakfire_pty_SIGWINCH, pty);
+ if (r < 0) {
+ ERROR(pty->ctx, "Could not register SIGWINCH: %s\n", strerror(-r));
+ return -errno;
+ }
+
// Setup forwarding
r = pakfire_pty_setup_forwarding(pty);
if (r < 0)
close(pty->master.fd);
pty->master.fd = -EBADF;
- // Listen to SIGWINCH
- r = sd_event_add_signal(pty->loop, &pty->sigwinch_event,
- SIGWINCH|SD_EVENT_SIGNAL_PROCMASK, pakfire_pty_SIGWINCH, pty);
- if (r < 0) {
- ERROR(pty->ctx, "Could not register SIGWINCH: %s\n", strerror(-r));
- return r;
- }
-
return 0;
}