디시인사이드 갤러리

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

갤러리 본문 영역

오늘 설계한 Clair.Event_Loop ㅋㅋ

나르시갤로그로 이동합니다. 2025.11.19 22:24:02
조회 37 추천 0 댓글 3

이거 기반은 llm이 준 정보가 아닌,  C로 만든 CLoop가 기반

Ada로 정말로 재작성하고 있음.

저걸 이용하여 Guiyom 툴킷 메인루프 및 앱 메인루프 돌릴거다.


Guiyom 툴킷의 메인루프는 두 가지 모드로 작동될 수 있다.


1. 전통적인 방식의 GUI 툴킷처럼 GUI 메인루프가 앱의 메인루프인 경우.

2. 앱의 메인루프와 GUI 스레드 메인루프가 서로 통신하는 방식.


2번 방식의 경우, GUI 가 멈추더라도 앱은 멈추지 않는다.

호스트 루프 비차단이 특징.


그리고

디스플레이 서버 <---> 클라이언트 통신 방식을


GUI 스레드 (서버) <----> 앱 메인 스레드 통신 방법으로

옮겨 놓은 것.


안전성이 뛰어나다 할 수 있다.

저거 구현 성공하면

nimf에서 non-GUI 콘솔 입력, GUI 입력 동시 사용 가능

ㅋㅋㅋ

전에 non-GUI 환경에서 돌릴 때, GUI 루프에서 멈춤이 발생했는데 그거 때문에

ㅋㅋㅋ 고안한 방식. CEF, Storyboard라는 툴킷에서도 제공하는 기능임.

CEF는 일반 앱에서 사용하기 곤란하고,

Storyboard는 상업용 툴킷이고.. 일단 내가 돈이 없어 사용 불가함.

ㅋㅋㅋ


-- clair-event_loop.ads
-- 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.
--
-- THIS FILE IS AUTOMATICALLY GENERATED.
-- DO NOT EDIT THIS FILE MANUALLY.

with Clair.File;

package Clair.Event_Loop is

  type Context is limited private;
  type Context_Access is access all Context;

  -- 감시자 리소스를 식별하는 ID (제거 시 사용)
  type Handle_Id is new Interfaces.C.int;
  Invalid_Handle : constant Handle_Id := -1;

  type Event_Mask is mod 2 ** 8;

  Event_Read  : constant Event_Mask := 16#1#;
  Event_Write : constant Event_Mask := 16#2#;
  Event_Error : constant Event_Mask := 16#4#;

  type Event_Callback is access procedure (
     fd        : Clair.File.Descriptor;
     events    : Event_Mask;
     user_data : System.Address
  );

  procedure run  (self : in out Context);
  procedure stop (self : in out Context);

  function add_io_watch (
    self      : in out Context;
    fd        : Clair.File.Descriptor;
    events    : Event_Mask;
    callback  : Event_Callback;
    user_data : System.Address := System.NULL_ADDRESS
  ) return Handle_Id;

  procedure remove_io_watch (
     self : in out Context;
     id   : Handle_Id
  );

  procedure modify_io_watch (
     self   : in out Context;
     fd     : Clair.IO.Descriptor;
     events : Clair.IO.Event_Mask
  );

private

  type Context is limited record
    is_running : Boolean := False;
  end record;

end Clair.Event_Loop;

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 대박 날 것 같아서 내 꿈에 나와줬으면 하는 스타는? 운영자 25/11/17 - -
AD 겨울가전 SALE! 쿨한 겨울 HOT세일 운영자 25/11/12 - -
공지 프로그래밍 갤러리 이용 안내 [97] 운영자 20.09.28 48726 65
2903641 그러니 러스트는 멀리하고 미소녀 여자아이 잠지나 즐기자 류류(118.235) 18:48 1 1
2903640 이제는 러스트충 고로시 탈갤 시즌이냐 ㅇㅅㅇ 류류(118.235) 18:47 0 0
2903639 러스트 사용하면 지구 멸망한다. 구라같지? [1] 나르시갤로그로 이동합니다. 18:41 3 0
2903638 클플이 지능적으로 러스트 돌려깠네 ㅋㅋ [1] 나르시갤로그로 이동합니다. 18:24 12 0
2903637 똥마려운채로 지하철에서 깜빡 졸았는데 기적처럼 안쌈 ㅋㅋ [3] 프갤러(223.32) 18:15 19 0
2903636 그러게 rust 쓸 바에 ada 쓰라니까 ㅋㅋ [9] 나르시갤로그로 이동합니다. 18:12 22 0
2903635 러스트 이제 기피 언어되겠네 ㅋㅋ [1] 나르시갤로그로 이동합니다. 18:09 11 0
2903634 내가 러스트 항상 경고했지? ㅋㅋ 나르시갤로그로 이동합니다. 17:56 13 0
2903633 클플 터진 이유) 러스트의 명시적 오류 처리 Result [9] 나르시갤로그로 이동합니다. 17:52 29 0
2903632 기술의 발전은 보편성을 가진당 By 나님 [2] ♥KiTTY냥덩♥갤로그로 이동합니다. 17:42 17 0
2903631 님들 pdf 인터넷에서 다운받은거 프갤러(222.119) 17:41 21 0
2903630 클라우드 플레어도 터지다니 안되겠네 진짜 [2] 프갤러(27.166) 17:33 26 1
2903629 머니 리셋, 스테이블 코인 발명도둑잡기(118.216) 17:26 9 0
2903627 자바출신 러빠특: Box ㅇㅇ(211.235) 16:37 28 3
2903626 자바출신 러빠특: unwrap ㅇㅇ(211.235) 16:33 23 4
2903625 자바출신 러빠특: clone ㅇㅇ(211.235) 16:31 23 3
2903624 저능한 회사에서 일하다 나도 저능해진듯 포폴 ssg로 만드려는데 [2] 프갤러(110.8) 16:19 39 1
2903623 자바출신 러빠특 [3] ㅇㅇ(211.235) 16:18 43 4
2903622 쥬그면 끝인가? ㅈㄴ 무서운데 [11] 깃깃갤로그로 이동합니다. 16:14 43 0
2903620 [대한민국] 구조적인 가짜뉴스와 시스템 프갤러(121.172) 15:54 9 0
2903619 정말 로또만이 해답일까 [1] 프갤러(182.231) 15:25 24 0
2903618 cloudflare 터진 원인 나왔네 [4] 프갤러(49.165) 15:21 112 6
2903617 파이썬 홍정모 강의 결제직전임 회피인간갤로그로 이동합니다. 15:07 17 0
2903616 다국어 UI/UX 구조 연구편 amdc갤로그로 이동합니다. 15:03 15 0
2903615 삼국사기 게임 개발 중. 후원이 필요함. [3] 책사풍후갤로그로 이동합니다. 14:55 52 0
2903614 ai도 학습은 사람으로인해 학습하는건데 [1] ㅇㅇ갤로그로 이동합니다. 14:34 34 0
2903613 강아지 이 사진 어때보여? ㅁㅁㅅ갤로그로 이동합니다. 14:29 44 0
2903612 양주 대모산성서 1500년 전 '기록' 나왔다…"가장 오래된 목간" 발명도둑잡기(118.216) 14:06 16 0
2903611 컴공에서 정보통신학과로 전과하면 적응하기 그나마 쉬운편? [1] 프갤러(220.79) 14:06 28 0
2903610 오늘의 발명 실마리: 난로 헤드폰, 선풍기 헤드폰 발명도둑잡기(118.216) 13:25 18 0
2903609 7시간 반 잤는데 발명도둑잡기(118.216) 12:40 23 0
2903608 형들 나 대학교 3학년 2학기때 자퇴했는데 [7] 프갤러(61.43) 11:53 79 0
2903606 [대한민국] FBI 국장 한국 방문 사이버공격 언급 프갤러(121.172) 11:45 21 0
2903604 대학교에서는 수학부터 배우는데 취미는 c부터 해야함? [2] 프갤러(61.43) 11:14 49 0
2903603 [멋쟁이사자처럼] PM 실무 부트캠프 2기 (~12/15) [2] 프갤러(14.32) 11:03 29 0
2903602 [사례 3천원] 비대면 10분 인터뷰이 모집 [1] 프갤러(222.110) 10:30 35 0
2903601 C++ 인생 40 년 갈아 넣었습니다. [1] 프갤러(59.16) 10:25 49 0
2903595 c++공부중인데 조언좀.. [5] 크림슨발록갤로그로 이동합니다. 09:30 75 0
2903593 운영처음햐보는데 [4] 프갤러(39.7) 08:56 65 0
2903592 꽃인줄 알았는데..ㅇㅅㅇ [3] 헤르 미온느갤로그로 이동합니다. 08:55 63 0
2903591 태연 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 08:47 39 0
2903590 하루 한 번 헤르미온느 찬양 헤르 미온느갤로그로 이동합니다. 08:46 43 0
2903588 젠장 대세 하락장 아닐 수 있겠네 [2] chironpractor갤로그로 이동합니다. 06:48 60 0
2903587 iOS 버전 바뀌니까 UI에 문제 생겼는데 원인을 모르면 어떻게 [3] 프갤러(86.12) 06:13 66 0
2903586 삼국사기 백제본기 근구수 편 게임 개발 후원 해주신분께 감사드립니다. [2] 책사풍후갤로그로 이동합니다. 05:41 41 0
2903585 탑 클라스 진입 퍼펙트 가이드!# 프갤러(121.142) 05:15 55 1
2903583 홍대 거리 갔다가 [5] 발명도둑잡기(118.216) 03:25 59 0
2903582 음기 충전 발명도둑잡기(118.216) 03:20 69 0
2903579 '1232억 체납' 서울시 명단 봤더니…1위가 일본인? 발명도둑잡기(118.216) 03:10 23 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2