Hello, all

I'm writing apache module with fpc.

When I compile my program on fpc 2.4.4, Apache terminate immediately. But on fpc 2.2.4, Apache and my module will work fine.

Code is compiled with no problem. Apache can load module. But the running has problem.

Is there anyone who running a module compiled with fpc 2.4.x on Apache?


I tested some envirment:
- OS: CentOS 5.5 / Fedora 12
- Apache: 2.2.3 / 2.2.17
- Arch: x86_64
- FPC: 2.2.4 / 2.4.2 / 2.4.4


Test code:
-----
library lib_mod_simple;

{$ifdef fpc}
  {$mode objfpc}{$H+}
{$endif}

uses SysUtils, httpd, apr;

var
 mod_simple: module; public name 'mod_simple';

exports
  mod_simple name 'mod_simple';

function DefaultHandler(r: Prequest_rec): Integer; cdecl;
begin
  Result := DECLINED;
end;

procedure RegisterHooks(p: Papr_pool_t); cdecl;
begin
  ap_hook_handler(@DefaultHandler, nil, nil, APR_HOOK_MIDDLE);
end;

begin
  FillChar(mod_simple, SizeOf(mod_simple), 0);
  STANDARD20_MODULE_STUFF(mod_simple);
  with mod_simple do
  begin
    name := 'mod_simple.so';
    register_hooks := @RegisterHooks;
  end;
end.
-----


Compilation options:
-----
fpc -Xs -XX -fPIC -dFPCAPACHE_2_2 -omod_simple.so mod_simple.pas
-----


LoadModule in httpd.conf:
-----
LoadModule mod_simple modules/mod_simple.so
-----


Test#1 with CentOS 5.5, Apache 2.2.3, FPC 2.2.4
-----
# gdb httpd
(gdb) r -X

Starting program: /usr/sbin/httpd -X
[Thread debugging using libthread_db enabled]
Detaching after fork from child process 28066.
Detaching after fork from child process 28080.

-----


Test#2 with CentOS 5.5, Apache 2.2.3, FPC 2.4.4
-----
# gdb httpd
(gdb) r -X

Starting program: /usr/sbin/httpd -X
[Thread debugging using libthread_db enabled]
Detaching after fork from child process 28119.

Program exited normally.

(gdb)
-----

Test with CentOS 5.5, Apache 2.2.3, FPC 2.4.2
Test with CentOS 5.5, Apache 2.2.3, FPC 2.4.4
Test with Fedora 12, Apache 2.2.17, FPC 2.4.4
  same as Test#2


In test#1, it seemed to be success. When I access the webserver with browser, apache respond normal page.

In test#2, apache shows no error. But process terminate. And when I accessed the webserver, apache didn't respond.


It is possible to develop by using FPC 2.2.4. However, the future, I want to compile with a newer version of FPC. Is there any idea to running module with FPC 2.4.x?



Thanks,
  Takashi


--
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

  Takashi Ishikawa
    ishik...@simple-way.co.jp
  SimpleWay Corporation
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to