* shmid are passed to that function as an osl object. The private_result_data
* pointer is passed as the second argument to \a result_handler.
*
* shmid are passed to that function as an osl object. The private_result_data
* pointer is passed as the second argument to \a result_handler.
*
* command. This function allows to pass such a structure together with a list
* of further arguments (often a list of audio files) to the parent process.
*
* command. This function allows to pass such a structure together with a list
* of further arguments (often a list of audio files) to the parent process.
*
* \sa send_standard_callback_request(), send_callback_request().
*/
int send_option_arg_callback_request(struct osl_object *options,
* \sa send_standard_callback_request(), send_callback_request().
*/
int send_option_arg_callback_request(struct osl_object *options,
- return pmd->action(pmd->table, row, name, pmd->data);
+ ret = pmd->action(pmd->table, row, name, pmd->data);
+ if (ret >= 0)
+ pmd->num_matches++;
+ return ret;
ret = score_delete(aft_row);
if (ret < 0) {
PARA_ERROR_LOG("%s\n", para_strerror(-ret));
ret = score_delete(aft_row);
if (ret < 0) {
PARA_ERROR_LOG("%s\n", para_strerror(-ret));
static void com_select_callback(int fd, const struct osl_object *query)
{
struct para_buffer pb = {
static void com_select_callback(int fd, const struct osl_object *query)
{
struct para_buffer pb = {
- return rc4_send_bin_buffer(rc4c, result->data, result->size);
+ ret = sc_send_bin_buffer(&cc->scc, result->data, result->size);
+ if (ret < 0 || ret == result->size)
+ return ret;
+ return -E_SHORT_WRITE;
st->task.pre_select = signal_pre_select;
st->task.post_select = afs_signal_post_select;
sprintf(st->task.status, "signal task");
st->task.pre_select = signal_pre_select;
st->task.post_select = afs_signal_post_select;
sprintf(st->task.status, "signal task");
ret = execute_server_command(&s->rfds);
if (ret < 0) {
PARA_EMERG_LOG("%s\n", para_strerror(-ret));
ret = execute_server_command(&s->rfds);
if (ret < 0) {
PARA_EMERG_LOG("%s\n", para_strerror(-ret));
- sprintf(ct->task.status, "command task");
- register_task(&ct->task);
+ sprintf(ct->task.status, "afs command task");
+ register_task(s, &ct->task);
INIT_LIST_HEAD(&afs_client_list);
for (i = 0; i < NUM_AFS_TABLES; i++)
afs_tables[i].init(&afs_tables[i]);
INIT_LIST_HEAD(&afs_client_list);
for (i = 0; i < NUM_AFS_TABLES; i++)
afs_tables[i].init(&afs_tables[i]);
PARA_INFO_LOG("server_socket: %d, afs_socket_cookie: %u\n",
server_socket, (unsigned) cookie);
init_admissible_files(conf.afs_initial_mode_arg);
PARA_INFO_LOG("server_socket: %d, afs_socket_cookie: %u\n",
server_socket, (unsigned) cookie);
init_admissible_files(conf.afs_initial_mode_arg);
- return rc4_send_va_buffer(rc4c, "%s\n", para_strerror(-ret));
+ /* ignore return value */
+ sc_send_va_buffer(&cc->scc, "%s\n", para_strerror(-ret));
if (ret < 0)
return ret;
}
if (flags & CHECK_PLAYLISTS) {
ret = send_callback_request(playlist_check_callback,
if (ret < 0)
return ret;
}
if (flags & CHECK_PLAYLISTS) {
ret = send_callback_request(playlist_check_callback,
if (ret < 0)
return ret;
}
if (flags & CHECK_MOODS) {
ret = send_callback_request(mood_check_callback, NULL,
if (ret < 0)
return ret;
}
if (flags & CHECK_MOODS) {
ret = send_callback_request(mood_check_callback, NULL,