• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10/postfix-255/postfix/src/global/

Lines Matching refs:info

31 /*	void	mail_stream_cleanup(info)
32 /* MAIL_STREAM *info;
34 /* int mail_stream_finish(info, why)
35 /* MAIL_STREAM *info;
38 /* void mail_stream_ctl(info, op, ...)
39 /* MAIL_STREAM *info;
150 void mail_stream_cleanup(MAIL_STREAM *info)
152 FREE_AND_WIPE(info->close, info->stream);
153 FREE_AND_WIPE(myfree, info->queue);
154 FREE_AND_WIPE(myfree, info->id);
155 FREE_AND_WIPE(myfree, info->class);
156 FREE_AND_WIPE(myfree, info->service);
157 myfree((char *) info);
214 static int mail_stream_finish_file(MAIL_STREAM *info, VSTRING *unused_why)
265 (!incoming_fs_clock_ok && !strcmp(info->queue, MAIL_QUEUE_INCOMING));
268 if (strcmp(info->queue, MAIL_QUEUE_DEFERRED) != 0)
269 info->delay = 0;
270 if (info->delay > 0)
271 want_stamp = time((time_t *) 0) + info->delay;
289 if (vstream_fflush(info->stream)
291 || stamp_stream(info->stream, want_stamp)
293 || (want_stamp && stamp_path(VSTREAM_PATH(info->stream), want_stamp))
295 || fchmod(vstream_fileno(info->stream), 0700 | info->mode)
297 || fsync(vstream_fileno(info->stream))
300 && fstat(vstream_fileno(info->stream), &st) < 0)
317 path_to_reset = mystrdup(VSTREAM_PATH(info->stream));
340 err = info->close(info->stream);
341 info->stream = 0;
351 msg_fatal("%s: update file time stamps: %m", info->id);
360 if (status == CLEANUP_STAT_OK && info->class && info->service)
361 mail_trigger(info->class, info->service, wakeup, sizeof(wakeup));
366 mail_stream_cleanup(info);
372 static int mail_stream_finish_ipc(MAIL_STREAM *info, VSTRING *why)
379 if ((why && attr_scan(info->stream, ATTR_FLAG_STRICT,
383 || (!why && attr_scan(info->stream, ATTR_FLAG_MISSING,
391 mail_stream_cleanup(info);
397 int mail_stream_finish(MAIL_STREAM *info, VSTRING *why)
399 return (info->finish(info, why));
408 MAIL_STREAM *info;
415 info = (MAIL_STREAM *) mymalloc(sizeof(*info));
416 info->stream = stream;
417 info->finish = mail_stream_finish_file;
418 info->close = vstream_fclose;
419 info->queue = mystrdup(queue);
420 info->id = mystrdup(basename(VSTREAM_PATH(stream)));
421 info->class = mystrdup(class);
422 info->service = mystrdup(service);
423 info->mode = mode;
425 info->delay = 0;
427 info->ctime = tv;
428 return (info);
436 MAIL_STREAM *info;
447 info = (MAIL_STREAM *) mymalloc(sizeof(*info));
448 info->stream = stream;
449 info->finish = mail_stream_finish_ipc;
450 info->close = vstream_fclose;
451 info->queue = 0;
452 info->id = mystrdup(vstring_str(id_buf));
453 info->class = 0;
454 info->service = 0;
455 return (info);
464 MAIL_STREAM *info;
500 info = (MAIL_STREAM *) mymalloc(sizeof(*info));
501 info->stream = stream;
502 info->finish = mail_stream_finish_ipc;
503 info->close = vstream_pclose;
504 info->queue = 0;
505 info->id = mystrdup(vstring_str(id_buf));
506 info->class = 0;
507 info->service = 0;
508 return (info);
514 void mail_stream_ctl(MAIL_STREAM *info, int op,...)
525 if (info->finish != mail_stream_finish_file)
527 myname, info->id);
547 FREE_AND_WIPE(myfree, info->class);
549 info->class = mystrdup(string_value);
553 FREE_AND_WIPE(myfree, info->service);
555 info->service = mystrdup(string_value);
562 info->mode = va_arg(ap, int);
570 if ((info->delay = va_arg(ap, int)) < 0)
571 msg_panic("%s: bad delay time %d", myname, info->delay);
594 if (new_queue != 0 && strcmp(info->queue, new_queue) != 0) {
595 char *saved_queue = info->queue;
596 char *saved_path = mystrdup(VSTREAM_PATH(info->stream));
599 (void) mail_queue_path(new_path, new_queue, info->id);
600 info->queue = mystrdup(new_queue);
601 vstream_control(info->stream, VSTREAM_CTL_PATH, STR(new_path),
608 msg_info("%s: placed in %s queue", info->id, info->queue);
610 msg_fatal("%s: move to %s queue failed: %m", info->id,
611 info->queue);