rbb 99/09/11 08:58:44
Modified: src/modules/mpm/dexter acceptlock.c
src/modules/mpm/mpmt_pthread acceptlock.c scoreboard.c
Log:
This change should allow Apache to build on all platforms with the popenf
changes. I have not been able to test this, but it should be evident what I
am doing if it doesn't work.
Revision Changes Path
1.7 +6 -3 apache-2.0/src/modules/mpm/dexter/acceptlock.c
Index: acceptlock.c
===================================================================
RCS file: /home/cvs/apache-2.0/src/modules/mpm/dexter/acceptlock.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- acceptlock.c 1999/09/08 18:58:46 1.6
+++ acceptlock.c 1999/09/11 15:58:35 1.7
@@ -574,12 +574,14 @@
*/
void accept_mutex_child_init(ap_context_t *p)
{
+ ap_file_t *tempfile = NULL;
int i;
for (i = 0; i < lock_count; i++) {
char *lock_fname = expand_lock_fname(p, i);
- lock_fd[i] = ap_popenf(p, lock_fname, O_WRONLY, 0600);
+ ap_open(p, lock_fname, APR_WRITE, APR_UREAD | APR_UWRITE, &tempfile);
+ ap_get_os_file(tempfile, *lock_fd[i]);
if (lock_fd[i] == -1) {
ap_log_error(APLOG_MARK, APLOG_EMERG,
(const server_rec *)ap_get_server_conf(),
@@ -595,6 +597,7 @@
*/
void accept_mutex_init(ap_context_t *p, int number_of_locks)
{
+ ap_file_t *tempfile = NULL;
int i;
char *lock_fname;
@@ -604,8 +607,8 @@
for (i = 0; i < lock_count; i++) {
lock_fname = expand_lock_fname(p, i);
unlink(lock_fname);
- lock_fd[i] = ap_popenf(p, lock_fname,
- O_CREAT | O_WRONLY | O_EXCL, 0600);
+ ap_open(p, lock_fname, APR_CREATE | APR_WRITE | APR_EXCL, APR_UREAD
| APR_UWRITE, &tempfile);
+ ap_get_os_file(tempfile, *lock_fd[i]);
if (lock_fd[i] == -1) {
ap_log_error(APLOG_MARK, APLOG_EMERG,
(const server_rec *) ap_get_server_conf(),
1.9 +7 -3 apache-2.0/src/modules/mpm/mpmt_pthread/acceptlock.c
Index: acceptlock.c
===================================================================
RCS file: /home/cvs/apache-2.0/src/modules/mpm/mpmt_pthread/acceptlock.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- acceptlock.c 1999/09/08 14:15:47 1.8
+++ acceptlock.c 1999/09/11 15:58:36 1.9
@@ -572,12 +572,14 @@
*/
void accept_mutex_child_init(ap_context_t *p)
{
+ ap_file_t *tempfile = NULL;
int i;
for (i = 0; i < lock_count; i++) {
char *lock_fname = expand_lock_fname(p, i);
- lock_fd[i] = ap_popenf(p, lock_fname, O_WRONLY, 0600);
+ ap_open(p, lock_fname, APR_WRITE, APR_UREAD | APR_UWRITE, &tempfile);
+ ap_get_os_file(tempfile, &lock_fd[i]);
if (lock_fd[i] == -1) {
ap_log_error(APLOG_MARK, APLOG_EMERG,
(const server_rec *)ap_get_server_conf(),
@@ -593,6 +595,7 @@
*/
void accept_mutex_init(ap_context_t *p, int number_of_locks)
{
+ ap_file_t *tempfile = NULL;
int i;
char *lock_fname;
@@ -602,8 +605,9 @@
for (i = 0; i < lock_count; i++) {
lock_fname = expand_lock_fname(p, i);
unlink(lock_fname);
- lock_fd[i] = ap_popenf(p, lock_fname,
- O_CREAT | O_WRONLY | O_EXCL, 0600);
+ ap_open(p, lock_fname, APR_CREATE | APR_WRITE | APR_EXCL,
+ APR_UREAD | APR_UWRITE, &tempfile);
+ ap_get_os_file(tempfile, &lock_fd[i]);
if (lock_fd[i] == -1) {
ap_log_error(APLOG_MARK, APLOG_EMERG,
(const server_rec *) ap_get_server_conf(),
1.5 +10 -3 apache-2.0/src/modules/mpm/mpmt_pthread/scoreboard.c
Index: scoreboard.c
===================================================================
RCS file: /home/cvs/apache-2.0/src/modules/mpm/mpmt_pthread/scoreboard.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- scoreboard.c 1999/08/31 05:33:23 1.4
+++ scoreboard.c 1999/09/11 15:58:37 1.5
@@ -405,6 +405,8 @@
#define SCOREBOARD_FILE
static scoreboard _scoreboard_image;
static int scoreboard_fd = -1;
+static ap_file_t *scoreboard_file = NULL;
+static ap_file_t *scoreboard_file = NULL;
/* XXX: things are seriously screwed if we ever have to do a partial
* read or write ... we could get a corrupted scoreboard
@@ -447,9 +449,12 @@
API_EXPORT(void) reopen_scoreboard(ap_context_t *p)
{
if (scoreboard_fd != -1)
- ap_pclosef(p, scoreboard_fd);
+ ap_close(scoreboard_fd);
- scoreboard_fd = ap_popenf(p, ap_scoreboard_fname, O_CREAT | O_BINARY |
O_RDWR, 0666);
+ ap_open(p, ap_scoreboard_fname, APR_CREATE | APR_BINARY | APR_READ |
APR_WRITE,
+ APR_UREAD | APR_UWRITE | APR_GREAD | APR_GWRITE | APR_WREAD |
APR_WWRITE,
+ &scoreboard_file);
+ ap_get_os_file(scoreboard_file, &scoreboard_fd);
if (scoreboard_fd == -1) {
perror(ap_scoreboard_fname);
fprintf(stderr, "Cannot open scoreboard file:\n");
@@ -475,7 +480,9 @@
ap_scoreboard_image = &_scoreboard_image;
ap_scoreboard_fname = ap_server_root_relative(p, ap_scoreboard_fname);
- scoreboard_fd = ap_popenf(p, ap_scoreboard_fname, O_CREAT | O_BINARY |
O_RDWR, 0644);
+ ap_open(p, ap_scoreboard_fname, APR_CREATE | APR_BINARY | APR_READ |
APR_WRITE,
+ APR_UREAD | APR_UWRITE | APR_GREAD | APR_WREAD,
&scoreboard_file);
+ ap_get_os_file(scoreboard_file, &scoreboard_fd);
if (scoreboard_fd == -1) {
perror(ap_scoreboard_fname);
fprintf(stderr, "Cannot open scoreboard file:\n");