/* * Copyright 1995, 1996 Perforce Software. All rights reserved. * * This file is part of Perforce - the FAST SCM System. */ /* * Signaler.h - catch ^C and delete temp files * * A single Signaler is declared globally. * * Public methods: * * Signaler::Block() -- don't catch the signal until Catch() * Signaler::Catch() -- catch and handle SIGINT * Signaler::OnIntr() -- call a designated function on SIGINT * Signaler::DeleteOnIntr() -- undo OnIntr() call * * Signaler::Intr() -- call functions registered by OnIntr() * * Requires cooperation from the TempFile objects to delete files. */ # ifdef OS_NT typedef void *HANDLE; # endif struct SignalMan; typedef void (*SignalFunc)( void *ptr ); class Signaler { public: Signaler(); void Block(); void Catch(); void Disable(); void OnIntr( SignalFunc callback, void *ptr ); void DeleteOnIntr( void *ptr ); void Intr(); private: SignalMan *list; int disable; # ifdef OS_NT HANDLE hmutex; # endif // OS_NT } ; extern Signaler signaler;
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#2 | 18548 | Robert Cowham | Merge from Main. | ||
#1 | 16507 | perforce_software | Move to main branch. | ||
//guest/perforce_software/piper/mac/R2.0/Perforce/p4api/Headers/signaler.h | |||||
#2 | 13626 | alan_petersen | Copying using piper_mac_main2r2.0 | ||
#1 | 12962 | alan_petersen |
Populate -o //guest/perforce_software/piper/mac/main/... //guest/perforce_software/piper/mac/R2.0/.... |
||
//guest/perforce_software/piper/mac/main/Perforce/p4api/Headers/signaler.h | |||||
#1 | 11252 | alan_petersen | Rename/move file(s) | ||
//guest/perforce_software/piper/mac/Perforce/p4api/Headers/signaler.h | |||||
#1 | 10744 | alan_petersen | Rename/move file(s) | ||
//guest/perforce_software/piper/Perforce/p4api/Headers/signaler.h | |||||
#1 | 8919 | Matt Attaway | Initial add of Piper, a lightweight Perforce client for artists and designers. |