Interrupted system call 가 어떤 에러인지...

zombie007의 이미지

안녕하세요...
Interrupted system call가 어떤 때에 나타나는 에러인지 궁금합니다..
참고로..
저는 지금 간단한 게임 서버를 만들어 테스트를 하고 있는데여..
listen 소켓이 하나있고 accept하는 client마다 thread를 생성하는 방식입니다..

하지만 지금 간단하게 클라이언트를 만들어서 접속 테스트를 해봤는데요..
클라이언트에서는 쓰레드를 1000개 생성하여 위의 게임 서버에 접속하는 거여..
그런데 서버에서는 255개의 쓰레드 생성후 Interrupted system call 이 에러를 내고 프로그램이 종료 됩니다...
왜 이런 현상이 일어 나는지 궁금합니다... 네트웍 문제인지 아니면 쓰레드 문제인지여.. 그럼 고수님들의 조언 부탁드립니다.....

redpine50의 이미지

인터럽트된 시스템콜 : 시스템콜 실행중에 인터럽트 시그날을 받아서 시그날 처리(디폴트 == 종료)가 되었단 얘기같군요.

일단 signal handler를 등록하셔야 될 듯... signal(SIGINT, SIG_IGN)해서 무시하시든지 아님 시그날 처리 루틴을 등록하셔야될거 같고요.
시스템콜 실행중에 시그날이 오면, 시그날 핸들러 실행후 자동으로 시스템콜을 재실행할 수도 있고 안할 수도 있는데.... 하실려는 작업에 따라 적당히 처리하시면 될 듯한데여.

더 자세한 건 스티븐스의 Advanced Programming in Unix Env.를 참고하세여.

Life is tragedy when seen in close-up, but a comedy in long-shot.

sjahn90의 이미지

전에도 똑같은 질문을 하셨던구요.. 쓰레드 개수 제한 문제라고 생각됩니다.

http://bbs.kldp.org/viewtopic.php?t=26036&highlight=

zombie007의 이미지

답변 정말 감사드립니다..
제가 아직 왕 초보라 개념이 없습니다.. ^^
그래서 스레드의 제한 갯수를 확인하는 방법을 잘몰라서여..
어떻게 확인을 하져?

sjahn90의 이미지

전에 누군가가 Thread 개수를 늘리는 방법을 이 게시판에 올려놓았습니다. 한번 참고해보세요.

Redhat 7.3이상에서는 그 방법으로 해결이 안되라구요.. 만약 thread 개수를 늘릴려면 thread stack를 사이즈를 작게하시면 늘어날겁니다. 7.3에서는 thread stack size가 8M인걸로 기억이 되는데. 만약 이것을 1M를 줄이면, 255 * 8 개만큼의 스레드를 띄울수 있습니다.

thread의 stack 사이즈 값을 get, set 하는 함수는 posix thread 함수들을 찾아보시면 나올겁니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.