Deleted Added
full compact
pmclog.c (147191) pmclog.c (147708)
1/*-
2 * Copyright (c) 2005 Joseph Koshy
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 11 unchanged lines hidden (view full) ---

20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 */
26
27#include <sys/cdefs.h>
1/*-
2 * Copyright (c) 2005 Joseph Koshy
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 11 unchanged lines hidden (view full) ---

20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 */
26
27#include <sys/cdefs.h>
28__FBSDID("$FreeBSD: head/lib/libpmc/pmclog.c 147191 2005-06-09 19:45:09Z jkoshy $");
28__FBSDID("$FreeBSD: head/lib/libpmc/pmclog.c 147708 2005-06-30 19:01:26Z jkoshy $");
29
30#include <sys/param.h>
31#include <sys/pmc.h>
32#include <sys/pmclog.h>
33
34#include <assert.h>
35#include <errno.h>
36#include <pmc.h>

--- 292 unchanged lines hidden (view full) ---

329 PMCLOG_READADDR(le,ev->pl_u.pl_m.pl_end);
330 PMCLOG_READ32(le,ev->pl_u.pl_m.pl_pid);
331 PMCLOG_READSTRING(le, ev->pl_u.pl_m.pl_pathname, pathlen);
332 break;
333 case PMCLOG_TYPE_PCSAMPLE:
334 PMCLOG_READ32(le,ev->pl_u.pl_s.pl_pid);
335 PMCLOG_READADDR(le,ev->pl_u.pl_s.pl_pc);
336 PMCLOG_READ32(le,ev->pl_u.pl_s.pl_pmcid);
29
30#include <sys/param.h>
31#include <sys/pmc.h>
32#include <sys/pmclog.h>
33
34#include <assert.h>
35#include <errno.h>
36#include <pmc.h>

--- 292 unchanged lines hidden (view full) ---

329 PMCLOG_READADDR(le,ev->pl_u.pl_m.pl_end);
330 PMCLOG_READ32(le,ev->pl_u.pl_m.pl_pid);
331 PMCLOG_READSTRING(le, ev->pl_u.pl_m.pl_pathname, pathlen);
332 break;
333 case PMCLOG_TYPE_PCSAMPLE:
334 PMCLOG_READ32(le,ev->pl_u.pl_s.pl_pid);
335 PMCLOG_READADDR(le,ev->pl_u.pl_s.pl_pc);
336 PMCLOG_READ32(le,ev->pl_u.pl_s.pl_pmcid);
337 PMCLOG_READ32(le,ev->pl_u.pl_s.pl_usermode);
337 break;
338 case PMCLOG_TYPE_PMCALLOCATE:
339 PMCLOG_READ32(le,ev->pl_u.pl_a.pl_pmcid);
340 PMCLOG_READ32(le,ev->pl_u.pl_a.pl_event);
341 PMCLOG_READ32(le,ev->pl_u.pl_a.pl_flags);
342 if ((ev->pl_u.pl_a.pl_evname =
343 pmc_name_of_event(ev->pl_u.pl_a.pl_event)) == NULL)
344 goto error;

--- 11 unchanged lines hidden (view full) ---

356 case PMCLOG_TYPE_PROCCSW:
357 PMCLOG_READ32(le,ev->pl_u.pl_c.pl_pmcid);
358 PMCLOG_READ64(le,ev->pl_u.pl_c.pl_value);
359 PMCLOG_READ32(le,ev->pl_u.pl_c.pl_pid);
360 break;
361 case PMCLOG_TYPE_PROCEXEC:
362 PMCLOG_GET_PATHLEN(pathlen,evlen,pmclog_procexec);
363 PMCLOG_READ32(le,ev->pl_u.pl_x.pl_pid);
338 break;
339 case PMCLOG_TYPE_PMCALLOCATE:
340 PMCLOG_READ32(le,ev->pl_u.pl_a.pl_pmcid);
341 PMCLOG_READ32(le,ev->pl_u.pl_a.pl_event);
342 PMCLOG_READ32(le,ev->pl_u.pl_a.pl_flags);
343 if ((ev->pl_u.pl_a.pl_evname =
344 pmc_name_of_event(ev->pl_u.pl_a.pl_event)) == NULL)
345 goto error;

--- 11 unchanged lines hidden (view full) ---

357 case PMCLOG_TYPE_PROCCSW:
358 PMCLOG_READ32(le,ev->pl_u.pl_c.pl_pmcid);
359 PMCLOG_READ64(le,ev->pl_u.pl_c.pl_value);
360 PMCLOG_READ32(le,ev->pl_u.pl_c.pl_pid);
361 break;
362 case PMCLOG_TYPE_PROCEXEC:
363 PMCLOG_GET_PATHLEN(pathlen,evlen,pmclog_procexec);
364 PMCLOG_READ32(le,ev->pl_u.pl_x.pl_pid);
365 PMCLOG_READADDR(le,ev->pl_u.pl_x.pl_entryaddr);
366 PMCLOG_READ32(le,ev->pl_u.pl_x.pl_pmcid);
364 PMCLOG_READSTRING(le,ev->pl_u.pl_x.pl_pathname,pathlen);
365 break;
366 case PMCLOG_TYPE_PROCEXIT:
367 PMCLOG_READ32(le,ev->pl_u.pl_e.pl_pmcid);
368 PMCLOG_READ64(le,ev->pl_u.pl_e.pl_value);
369 PMCLOG_READ32(le,ev->pl_u.pl_e.pl_pid);
370 break;
371 case PMCLOG_TYPE_PROCFORK:

--- 59 unchanged lines hidden (view full) ---

431 * (which may be EAGAIN or other recoverable error), or
432 * can return EOF.
433 */
434 if (ps->ps_fd != PMCLOG_FD_NONE) {
435 nread = read(ps->ps_fd, ps->ps_buffer,
436 PMCLOG_BUFFER_SIZE);
437
438 if (nread <= 0) {
367 PMCLOG_READSTRING(le,ev->pl_u.pl_x.pl_pathname,pathlen);
368 break;
369 case PMCLOG_TYPE_PROCEXIT:
370 PMCLOG_READ32(le,ev->pl_u.pl_e.pl_pmcid);
371 PMCLOG_READ64(le,ev->pl_u.pl_e.pl_value);
372 PMCLOG_READ32(le,ev->pl_u.pl_e.pl_pid);
373 break;
374 case PMCLOG_TYPE_PROCFORK:

--- 59 unchanged lines hidden (view full) ---

434 * (which may be EAGAIN or other recoverable error), or
435 * can return EOF.
436 */
437 if (ps->ps_fd != PMCLOG_FD_NONE) {
438 nread = read(ps->ps_fd, ps->ps_buffer,
439 PMCLOG_BUFFER_SIZE);
440
441 if (nread <= 0) {
439 ev->pl_state = nread < 0 ? PMCLOG_ERROR :
440 PMCLOG_EOF;
442 if (nread == 0)
443 ev->pl_state = PMCLOG_EOF;
444 else if (errno != EAGAIN) /* not restartable */
445 ev->pl_state = PMCLOG_ERROR;
441 return -1;
442 }
443
444 ps->ps_len = nread;
445 ps->ps_data = ps->ps_buffer;
446 } else
447 return -1;
448 }

--- 84 unchanged lines hidden ---
446 return -1;
447 }
448
449 ps->ps_len = nread;
450 ps->ps_data = ps->ps_buffer;
451 } else
452 return -1;
453 }

--- 84 unchanged lines hidden ---