Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 

Solaris Containers: Resource Management and Solaris Zones Developer's Guide
Previous Next

Programming Issues Associated With Projects and Tasks

Consider the following issues when writing your application:

  • No function exists to explicitly create a new project.

  • A user cannot log in if no default project for the user exists in the project database.

  • A new task in the user's default project is created when the user logs in.

  • When a process joins a project, the project's resource control and pool settings are applied to the process.

  • setproject() requires privilege. The newtask command does not require privilege if you own the process. Either can be used to create a task, but only newtask can change the project of a running process.

  • No parent/child relationship exists between tasks.

  • Finalized tasks can be created by using newtask -F or by using setproject() to associate the caller with a new project. Finalized tasks are useful when trying to accurately estimate aggregate resource accounting.

  • The reentrant functions, getprojent(), getprojbyname(), getprojbyid(), getdefaultproj(), and inproj(), use buffers supplied by the caller to store returned results. These functions are safe for use in both single-threaded applications and multithreaded applications.

  • Reentrant functions require these additional arguments: proj, buffer, and bufsize. The proj argument must be a pointer to a project structure allocated by the caller. On successful completion, these functions return the project entry in this structure. Storage referenced by the project structure is allocated from the memory specified by the buffer argument. bufsize specifies the size in number of bytes.

  • If an incorrect buffer size is used, getprojent() returns NULL and sets errno to ERANGE.

Previous Next

 
 
  Published under the terms fo the Public Documentation License Version 1.01. Design by Interspire