디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

Cada 오늘 재설계 한거 ㅋㅋ

나르시갤로그로 이동합니다. 2025.07.19 15:59:15
조회 33 추천 0 댓글 0

fork 래핑했는데,

ㅋㅋㅋ

rust에 nix 크레이트인가? 암튼 그런거 있다는데, 그거 따라했어

ㅋㅋㅋ

Ada(에이다)로도 러스트 Result 이런거 된다.

무슨 러스트만의 전유물인줄 아는 빠돌이들 많은거 같은데,

Ada 언어하면 눈 뒤집어진다. 없는게 없다. 다 있다. ㅎㅎ

그래서 어떻게 됐느냐?


fork 하면, 각각의 경우에 따라 두가지 결과를 리턴한다. ㅎㅎ


(status => Parent, child_pid => pid)

(status => Child)


이렇게 희안하게 리턴하는게 Ada로 가능함.

ㅋㅋ



-- -*- Mode: Ada; indent-tabs-mode: nil; c-basic-offset: 2; tab-width: 2 -*-

-- cada-process.adb

-- Copyright (c) 2025 Hodong Kim <hodong@nimfsoft.art>

--

-- Permission to use, copy, modify, and/or distribute this software for any

-- purpose with or without fee is hereby granted.

--

-- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES

-- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF

-- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR

-- ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES

-- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN

-- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF

-- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

with Interfaces.C;

with unistd_h;

with stdlib_h;

with Cada;

with Cada.Error;


package body Cada.Process is

  use type Interfaces.C.int;


  procedure exit_process (status : Integer := EXIT_SUCCESS) is

  begin

    stdlib_h.c_exit (Interfaces.C.int (status));

    raise Program_Error with "Unreachable code: c_exit() should not return.";

  end exit_process;


  function get_pid return Pid is

  begin

    return unistd_h.getpid;

  end get_pid;


  function set_sid return Pid is

    result : constant Pid := unistd_h.setsid;

  begin

    if result = -1 then

      Cada.raise_from_errno (Cada.Error.get_errno, "setsid failed");

    end if;

    return result;

  end set_sid;


  function fork return Fork_Result is

    result : constant Pid := unistd_h.fork;

  begin

    case result is

      when 0 =>

        -- child프로세스입니다: status가 Child인 레코드 반환

        return (status => Child);

      when -1 =>

        -- 오류 발생 시 예외 처리

        Cada.raise_from_errno (Cada.Error.get_errno, "fork failed");

      when others =>

           -- parent프로세스입니다, child_pid)'에 해당:

           -- status가 Parent이고 자식 Pid를 포함한 레코드 반환

        return (status => Parent, child_pid => result);

    end case;

  end fork;


end Cada.Process;


추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 모태 솔로도 구제해 줄 것 같은 연애 고수 스타는? 운영자 25/07/21 - -
AD 곧 휴가!! 홈캉스, 바캉스 SALE 운영자 25/07/21 - -
2872932 ㅇㅅㅇ❤+ ♥냥덩이는충전중♥갤로그로 이동합니다. 07.19 28 0
2872931 ㅔ근데 요즘 퓨어 c++ 쓰는사람 없어서 malloc 모를수있다봄 [3] 초코냥갤로그로 이동합니다. 07.19 115 0
2872930 전세계 부정선거조작 배후 밝혀졌넹 ㄷㅅㄷ [1] ♥냥덩이는충전중♥갤로그로 이동합니다. 07.19 46 0
2872929 옛날사람들 왜 안옴? 배구공(119.202) 07.19 35 0
2872928 구멍 ♥냥덩이는충전중♥갤로그로 이동합니다. 07.19 34 0
2872927 new malloc 지랄하지 말고 러스트 써라 [3] 프갤러(211.234) 07.19 79 0
2872925 모기 있는거 같아서 찜찜하당.. ♥냥덩이는충전중♥갤로그로 이동합니다. 07.19 30 0
2872923 진정한 개발자들로 다시 프로그래밍 갤러리 살려야함 [1] 초코냥갤로그로 이동합니다. 07.19 84 0
2872922 이제 나이들어서 [1] 배구공(119.202) 07.19 49 0
2872921 가끔은 과거 프갤이 그립다 ㅇㅅㅇ.. [1] 초코냥갤로그로 이동합니다. 07.19 112 0
2872917 경상도 분들이 많으신듯 배구공(119.202) 07.19 49 0
2872916 과학교육과 여신 발명도둑잡기갤로그로 이동합니다. 07.19 33 0
2872915 난 그래도 ㅆㅇㅆ리스펙한다 [1] 초코냥갤로그로 이동합니다. 07.19 74 0
2872913 사람들이 왜 차타는지 알거같아요 개멍청한유라갤로그로 이동합니다. 07.19 49 0
2872911 징글징글하다 [9] 개멍청한유라갤로그로 이동합니다. 07.19 69 0
2872907 형들 34살 취업 조언점 [10] 프갤러(116.39) 07.19 191 0
2872905 OEM 잠금해제가 어떤지 없더라고, 넥도리아(220.74) 07.19 37 0
2872903 SD카드인데... 흠나... 넥도리아(220.74) 07.19 35 0
2872901 요즘 시대에 영어 공부가 꼭 필요할까요? [1] 질문왕(121.171) 07.19 53 0
2872900 강박증 심하면 언어 갈수록 흩트러지는 거 스트레쓰 받겠지 [3] 발명도둑잡기갤로그로 이동합니다. 07.19 45 0
2872898 네이버 AI가 왜 깔아져 있지? [2] 넥도리아(220.74) 07.19 57 0
2872897 이재명 대통령님께 당부드리는 흡연자 저격 아버지 포함 전자담배 빼고, 넥도리아(220.74) 07.19 88 0
2872896 애초에 수치 계산할때 malloc쓰라는 이유가 연속 메모리할당 [10] ㅆㅇㅆ(124.216) 07.19 111 1
2872895 ❤✨☀⭐⚡☘♥+나님 시작합니당♥+☘⚡⭐☀✨❤ [2] ♥냥덩이는충전중♥갤로그로 이동합니다. 07.19 55 0
2872894 결국 빤스런했노 ㅋㅋ 애초에 내가 씨발 초전도체 물성 계산한다고 CPP [3] ㅆㅇㅆ(124.216) 07.19 94 0
2872892 고수준에서만 작업하는 애들은 [8] 루도그담당(118.235) 07.19 131 0
2872891 애초에 ecs지피티한테 짜달라하면 맵기반으로 ㅆㅇㅆ찡갤로그로 이동합니다. 07.19 43 0
2872889 현업들한테 질문 [2] 프갤러(49.169) 07.19 61 0
2872888 요즘은 지가 쳐모른다고 지피티 운운하는 새끼들 개패고싶네 [4] ㅆㅇㅆ찡갤로그로 이동합니다. 07.19 80 0
2872887 지가 모른다고 지피티ㅋㅋ 저새낀 병신인가 ㅆㅇㅆ찡갤로그로 이동합니다. 07.19 30 0
2872885 한남 스윗하니까 한녀들이 1등시민 된거지 ㅇㅅㅇ 류류(118.235) 07.19 34 1
2872884 CPP에서 malloc 쓰지말란건 일반적으로 고수준 에서 쓰지말란거지 [6] ㅆㅇㅆ(124.216) 07.19 119 0
2872883 웹 개발 커미션 받는데 별의 별 사람이 다 있음 [2] ㅇㅇ갤로그로 이동합니다. 07.19 63 0
2872882 1분삭 ㅇㅇ(106.101) 07.19 37 0
2872881 안중근이 일본에서는 테러리스트 취급하듯이 [2] 류류(118.235) 07.19 45 2
2872878 최원종 보다 더 똑똑한애들 ㅇㅅㅇ [1] 류류(118.235) 07.19 77 3
2872876 최원종이 똑똑한가야 ㅇㅅㅇ 류류(118.235) 07.19 40 0
2872874 우측 엉덩이 실 점액낭종 수술 해주는 곳 없냐? 넥도리아(220.74) 07.19 27 0
2872873 서연고는 동네 개만도 못한대학이였구나 ㅇㅅㅇ 류류(118.235) 07.19 45 0
2872871 cpp 노베 강좌 추천좀 프갤러(116.121) 07.19 40 0
2872869 보통 일본 어디에 핵 떨어졌나 모르면 [5] 아스카영원히사랑해갤로그로 이동합니다. 07.19 68 0
2872868 아이폰 텔레그램 쓰는사람? [5] 프로이트갤로그로 이동합니다. 07.19 95 0
2872867 C# 코드 다 쌩으로 드러난다고 들었는데 [2] ㅇㅇ(106.241) 07.19 90 0
2872866 책을 좀 쳐 읽고 댓달아라 106.101 이 허언증 리플리 증후군아 [1] ㅆㅇㅆ(124.216) 07.19 55 0
2872865 컴공은 ai 박사 아니면 답 없음 [5] 프갤러(175.193) 07.19 117 0
2872864 malloc이 금기긴하지만 CPP 내부 구현도 malloc쓰는게 많다 [2] ㅆㅇㅆ(124.216) 07.19 76 0
2872863 뉴스) 개발자 현실 한국인 안뽑을래요 프갤러(175.193) 07.19 51 0
2872862 뭐 C하는 사람이 없다 잘하는 사람이 없다라는 회사 특 프갤러(106.101) 07.19 56 0
2872861 뭐든지 방점을 찍는게 제일 어렵다 [1] ㅇㅇ(106.241) 07.19 41 0
2872859 CPP는 하라면 할 수 있는데 한번 코딩하면 심적으로 힘들어서 관둠 [8] ㅆㅇㅆ(124.216) 07.19 84 0
뉴스 '최음제 논란' 배우 하정우 "팬에 직접 사과…언행에 신중 기할 것" 디시트렌드 07.21
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2