/*
- * Copyright (C) 2006-2009 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2006-2011 Andre Noll <maan@systemlinux.org>
*
* Licensed under the GPL v2. For licencing details see COPYING.
*/
if (gc->mode == GM_SLOPPY)
return len;
}
- ret = write_nonblock(gc->fd, buf, len, 0);
+ ret = write_nonblock(gc->fd, buf, len);
if (ret < 0)
goto err;
if (ret > 0)
if (ret == 0)
return;
- if (ret < 0) {
- s->timeout.tv_sec = 0;
- s->timeout.tv_usec = 0;
- return;
- }
+ if (ret < 0)
+ sched_min_delay(s);
para_fd_set(gc->fd, &s->wfds, &s->max_fileno);
}
return;
PARA_INFO_LOG("activating fd %d\n", gc->fd);
list_move(&gc->node, &active_grab_client_list);
- gc->btrn = btr_new_node(name, parent, NULL, NULL);
+ gc->btrn = btr_new_node(&(struct btr_node_description)
+ EMBRACE(.name = name, .parent = parent));
if (!gc->task.pre_select) {
gc->task.pre_select = gc_pre_select;
gc->task.post_select = gc_post_select;