1af81d7432594d8459c4fb9f76c5e8a981f69a94cDavid 'Digit' Turner// Copyright 2014 The Android Open Source Project 2af81d7432594d8459c4fb9f76c5e8a981f69a94cDavid 'Digit' Turner// 3af81d7432594d8459c4fb9f76c5e8a981f69a94cDavid 'Digit' Turner// This software is licensed under the terms of the GNU General Public 4af81d7432594d8459c4fb9f76c5e8a981f69a94cDavid 'Digit' Turner// License version 2, as published by the Free Software Foundation, and 5af81d7432594d8459c4fb9f76c5e8a981f69a94cDavid 'Digit' Turner// may be copied, distributed, and modified under those terms. 6af81d7432594d8459c4fb9f76c5e8a981f69a94cDavid 'Digit' Turner// 7af81d7432594d8459c4fb9f76c5e8a981f69a94cDavid 'Digit' Turner// This program is distributed in the hope that it will be useful, 8af81d7432594d8459c4fb9f76c5e8a981f69a94cDavid 'Digit' Turner// but WITHOUT ANY WARRANTY; without even the implied warranty of 9af81d7432594d8459c4fb9f76c5e8a981f69a94cDavid 'Digit' Turner// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10af81d7432594d8459c4fb9f76c5e8a981f69a94cDavid 'Digit' Turner// GNU General Public License for more details. 11af81d7432594d8459c4fb9f76c5e8a981f69a94cDavid 'Digit' Turner 12af81d7432594d8459c4fb9f76c5e8a981f69a94cDavid 'Digit' Turner#include "android/utils/eintr_wrapper.h" 13af81d7432594d8459c4fb9f76c5e8a981f69a94cDavid 'Digit' Turner 14af81d7432594d8459c4fb9f76c5e8a981f69a94cDavid 'Digit' Turner#include "android/utils/panic.h" 15af81d7432594d8459c4fb9f76c5e8a981f69a94cDavid 'Digit' Turner 16af81d7432594d8459c4fb9f76c5e8a981f69a94cDavid 'Digit' Turner#ifndef _WIN32 17af81d7432594d8459c4fb9f76c5e8a981f69a94cDavid 'Digit' Turnervoid android_eintr_wrapper_fatal(const char* file, 18af81d7432594d8459c4fb9f76c5e8a981f69a94cDavid 'Digit' Turner long lineno, 19af81d7432594d8459c4fb9f76c5e8a981f69a94cDavid 'Digit' Turner const char* function, 20af81d7432594d8459c4fb9f76c5e8a981f69a94cDavid 'Digit' Turner const char* call) { 21af81d7432594d8459c4fb9f76c5e8a981f69a94cDavid 'Digit' Turner android_panic( 22af81d7432594d8459c4fb9f76c5e8a981f69a94cDavid 'Digit' Turner "%s:%ld:%s%s System call looped around EINTR %d times: %s\n", 23af81d7432594d8459c4fb9f76c5e8a981f69a94cDavid 'Digit' Turner file, 24af81d7432594d8459c4fb9f76c5e8a981f69a94cDavid 'Digit' Turner lineno, 25af81d7432594d8459c4fb9f76c5e8a981f69a94cDavid 'Digit' Turner function ? function : "", 26af81d7432594d8459c4fb9f76c5e8a981f69a94cDavid 'Digit' Turner function ? ":" : "", 27af81d7432594d8459c4fb9f76c5e8a981f69a94cDavid 'Digit' Turner MAX_EINTR_LOOP_COUNT, 28af81d7432594d8459c4fb9f76c5e8a981f69a94cDavid 'Digit' Turner call); 29af81d7432594d8459c4fb9f76c5e8a981f69a94cDavid 'Digit' Turner} 30a2c14f947951612b45024095afd2210aa7368773David 'Digit' Turner#endif // !_WIN32 31