Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP-UX Reference > S


HP-UX 11i Version 3: February 2007

Technical documentation

» Feedback
Content starts here

 » Table of Contents

 » Index


serialize() — force target process to run serially with other processes


#include <unistd.h>

int serialize(int timeshare, pid_t pid);


The serialize() system call is used to force the target process referenced by the pid value passed in to run serially with other processes also marked for serialization. If the value of pid is zero, then the currently running process is marked for serialization. Once a process has been marked by serialize(), the process stays marked until process completion, unless serialize() is reissued on the serialized process with timeshare set to 1. If timeshare is set to 1, the process specified in pid will be returned to normal timeshare scheduling algorithms.

This call is used to improve process throughput since process throughput usually increases for large processes when they are executed serially instead of allowing each program to run for only a short period of time. By running large processes one at a time, the system makes more efficient use of the CPU as well as system memory, since each process does not end up constantly faulting in its working set, to only have the pages stolen when another process starts running. As long as there is enough memory in the system, processes marked by serialize() behave no differently from other processes in the system. However, once memory becomes tight, processes marked by serialize() are run one at a time with the highest priority processes being run first. Each process runs for a finite interval of time before another serialized process is allowed to run.


serialize() returns zero upon successful completion, or nonzero if the system call failed.


If serialize() fails, it sets errno (see errno(2)) to the following value:


The pid passed in does not exist.


The user has no way of forcing an execution order on serialized processes.


serialize() was developed by HP.

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 1983-2007 Hewlett-Packard Development Company, L.P.