SOCleanup

Syntax

#include <revolution/so.h>
int SOCleanup( void );

Description

Returns the SO library to the state just after initialization. All communication processes using the SO library will be forcibly stopped.

Blocking occurs until the communication termination process of all SOCleanup functions has completed. The block on all blocked API calls will be cleared, and the given errors are returned.

This function may block for a long period of time before it finishes processing. Consequently, we recommend that when you call this function you prepare a separate thread from other processing, such as rendering.

Note: The system may be performing communications automatically, so in some cases the amount of time required until processing ends may be longer than normal.

Arguments

None.

Return Values

0 Process succeeded.
SO_EALREADY Either the SOStartup[Ex] function has not moved it into a state in which communication is possible, or the SOCleanup function has already returned the library to the state just after initialization.
SO_EBUSY Because processing that accompanies the state transition of the SO library is in execution, processing cannot be accepted in the current state.
SO_ENETRESET The SO library has not been initialized with SOInit.
SO_EFATAL One of the following fatal errors occurred:
  • A call from the exception handler.
  • A fatal error occurred while running the firmware.

Note: Error codes other than those described above might be returned following subsequent library or console firmware updates. To deal with unexpected errors during development, treat all negative return values other than those described above as fatal errors, and either halt program execution or perform similar error handling.

See Also

SOStartup
SOFinish

Revision History

2008/05/19 Revised notes related to error codes.
2007/10/31 Added descriptions.
2007/01/31 Initial version.


CONFIDENTIAL